Einrichtung von DBFORMS bei mehreren Mandanten

Wenn auch die Administrationsabfragen von DBFORMS genutzt werden sollen, müssen die Datenbankverbindungen in zwei Steuerungsdateien eingetragen werden: der server.xml für die Datenbankverbindung, und der dbforms-config.xml für die dbforms-Anbindung.

Die Vorbereitung des Tomcat-Servers für den Einsatz von dbforms wurde im Abschnitt zur server.xml erläutert. Für den Einsatz mehrerer Mandanten müssen die Datenquellen in der Datei $SUPERX_DIR/webserver/tomcat/conf/server.xml eingetragen werden.

Diese sähe dann z.B. für die Mandanten 7200 und 7300, deren Datenbanknamen unter Postgres pg7200 und pg7300 lauten, so aus:

Der mandantefähige SuperX-Kontext in der server.xml

<Context path="/superx" docBase="superx" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_superx_log." suffix=".txt"
              timestamp="true"/>
         <Environment name="maxExemptions" type="java.lang.Integer"
                      value="15"/>
          <Parameter name="context.param.name" value="context.param.value"
                     override="false"/>
          <Resource name="jdbc/mandant_7200" auth="Container"
          type="javax.sql.DataSource"/>

          <Resource name="jdbc/mandant_7300" auth="Container"
          type="javax.sql.DataSource"/>

<!--Mandant 7200 wird angebunden:
<ResourceParams name="jdbc/7200">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>driverClassName</name>
    <value>
org.postgresql.Driver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>
jdbc:postgresql://localhost/pg7200</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>
superx</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>
anfang12</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>
7</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>
5</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>-1</value>
  </parameter>
 
  <parameter>
<name>removeAbandoned</name>
<value>true</value>
 </parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>10</value>
</parameter>
</ResourceParams>

 

<!--Mandant 7300 wird angebunden:
<ResourceParams name="jdbc/7300">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>driverClassName</name>
    <value>
org.postgresql.Driver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>
jdbc:postgresql://localhost/pg7300</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>
superx</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>
anfang12</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>
7</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>
5</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>-1</value>
  </parameter>
 
  <parameter>
<name>removeAbandoned</name>
<value>true</value>
 </parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>10</value>
</parameter>
</ResourceParams>
</Context>

Es werden also die Tags <Resource? /> und <ResourceParams? /> für jeden Mandanten dupliziert und konfiguriert. Jeder Mandanten-Datenquelle ist dann für dbforms über den Namen der Ressource ansprechbar, also in diesem Beispiel 7200 und 7300.

Diese Datenquellen müssen dann wie im Abschnitt zu dbforms erläutert in der Datei $SUPERX_DIR/webserver/tomcat/webapps/superx/WEB-INF/dbforms-config.xml beim Tag <dbConnection ?/> eingetragen werden:

 

Das Ende der Datei dbforms-config.xml bei mandantenfähigem Betrieb

...
<!--Hier endet Moduldefinition-->
<dbconnection id ="7200" isJndi="true" name="java:/comp/env/jdbc/mandant_7200"/>
<dbconnection id="7300" isJndi="true" name="java:/comp/env/jdbc/ mandant_7300"/>
</dbforms-config>

Wichtig ist, dass die Mandanten-ID mit der in der mandanten.cfg (s.o.) übereinstimmt.


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 67 / 257
Letzter Update: 07.06.2007
Impressum